$(document).ready(function(){

    var SUCCESS = '000000';
    
	// 订单列表时间选择背景切换
	$(".timeSelect a").click(function(){
		$(this).siblings().removeClass("active");
		$(this).addClass("active");
	});


	// 订单概览中的table不要鼠标经过效果
	$(".gkTable td").mouseover(function(){
		$(".gkTable td").css("backgroundColor","#fff");
	});


	// tab选项卡效果
	$(".myTabDrop li").click(function(){
		$(this).siblings().removeClass("active");
		$(this).addClass("active");
		$(this).parent().siblings(".tab-content").find(".tabPannel").hide();
		$(this).parent().siblings(".tab-content").find(".tabPannel").eq( $(this).index() ).show();
	});

	// tab-地域-小时-媒体等选项卡
	$(".a-multiple a").click(function(){
		var _index = $(this).attr("name");
		$(this).siblings("a").removeClass("active");
		$(this).addClass("active");
//		$(this).parent().siblings(".multiple-panel").hide();
//		$(this).parent().siblings(".multiple-panel").eq(_index).show();
	});
	
	$.fn.sortAndSearch = function(func, callback) {
		$(this).click(function() {
			$(this).parent().parent().find('i').removeClass('icon-chevron-down icon-chevron-up');
			
			var sortColumn = $(this).attr('sortColumn');
			var sortType = $(this).attr('sortType');
			
			$('#sortColumn').val(sortColumn);
			$('#sortType').val(sortType);
			
			$(this).attr('sortType', 1 - parseInt(sortType));
			
			if(sortType == 0) {
				$(this).find('i').removeClass('icon-chevron-down').addClass('icon-chevron-up');
			} else {
				$(this).find('i').removeClass('icon-chevron-up').addClass('icon-chevron-down');
			}
			
			if(func == '') {
				callback();
			} else {
				eval(func);
			}
		});
	};
	
	/** 分页 */
    $.fn.page = function(page, func) {
        
        var _html = '';
        if(page.pageCount == 0) {
            _html += '<span>没有数据</span>';
        } else {
            if(page.hasPrev) {
                _html += '<a onclick="' + func + '(1)">首页</a>';
                _html += '<a onclick="' + func + '(\'' + (page.no - 1) + '\')">上一页</a>';
            } else {
                _html += '<span>首页</span>';
                _html += '<span>上一页</span>';
            }
            
            if(page.start > 1) {
                _html += '<span>...</span>';
            }
            
            for(var i = page.start; i <= page.end; i++ ) {
                if(i == page.no) {
                    _html += '<span class="current">' + i + '</span>';
                } else {
                    _html += '<a onclick="' + func + '(\'' + i + '\')">' + i + '</a>';
                }
            }
            
            if(page.end < page.pageCount) {
                _html += '<span>...</span>';
            }
            
            if(page.hasNext) {
                _html += '<a onclick="' + func + '(\'' + (page.no + 1) + '\')">下一页</a>';
                _html += '<a onclick="' + func + '(\'' + page.pageCount + '\')">末页</a>';
            } else {
                _html += '<span>下一页</span>';
                _html += '<span>末页</span>';
            }
        }
        
        $(this).html(_html);
    };
	
	$.format = function(num) {

        if (num == undefined || num == "" || num == null || num == 0) {
            return "0";
        }

        var tempNum = num + "";
        if (tempNum.length <= 3) {
            return num;
        }
        var str = "";
        var decimalPart = "";
        var index = tempNum.indexOf(".");
        if (index == -1) {
            str = tempNum;
        } else {
            str = tempNum.substring(0, index);
            decimalPart = tempNum.substring(index, tempNum.length);
        }
        var newStr = new Array(str.length + parseInt(str.length / 3));
        var strArray = str.split("");
        newStr[newStr.length - 1] = strArray[strArray.length - 1];
        var currentIndex = strArray.length - 1;
        for (var i = newStr.length - 1; i >= 0; i--) {
            if ((newStr.length - i) % 4 == 0) {
                newStr[i] = ",";
            } else {
                newStr[i] = strArray[currentIndex--];
            }
        }
        if (newStr[0] == ",") {
            newStr.shift();
        }
        return newStr.join("") + decimalPart;
    };
	
	$.isNullOrBlank = function(obj) {
        return obj == null || obj == '';
    };
	
    $.loadData = function(args) {
        
        var params = {
            http : {
                url : args.http.url,
            },
            table : {
                id : $.isNullOrBlank(args.table.id) ? 'table' : args.table.id,
                title : $.isNullOrBlank(args.table.title) ? '' : args.table.title
            },
            page : {
                no : args.page.no,
                div_id : $.isNullOrBlank(args.page.div_id) ? 'pageDiv' : args.page.div_id,
                click_method : args.page.click_method
            },
            picker : {
                id : $.isNullOrBlank(args.picker) ? 'dateRangePicker' : ($.isNullOrBlank(args.picker.id) ? 'dateRangePicker' : args.picker.id)
            },
            column_title : args.column_title
        };
        
        $('#' + params.table.id + ' #titleSpan').text(params.table.title);
        
        var _start = '';
        var _end = '';
        var _time = $('#' + params.picker.id).val();
        if(_time != '') {
            var arr = _time.split(' to ');
            _start = arr[0];
            _end = arr[1];
        }
        
        $.get(params.http.url,
            {
                'page.no' : params.page.no,
                'startTime' : _start,
                'endTime' : _end
            },
            
            function(data) {
                
                if(data.code != SUCCESS) {
                    alert(data.msg);
                    return;
                }
                
                var list = data.result.data;

                var _tab = $('#' + params.table.id);
                
                _tab.find('tbody tr').remove();

                for(var i = 0; i < list.length; i++) {
                
                    var _html = '';
                    _html += '<tr class="theadTr">';
                    
                    var _column_title = params.column_title(list[i]);
                    for(var j = 0; j < _column_title.length; j++) {
                        _html += '    <td class="theadTd">' + _column_title[j] + '</td>';
                    }
                    
                    _html += '    <td class="theadTd hidden-impression">' + $.format(list[i].show) + '</td>';
                    _html += '    <td class="theadTd hidden-click">' + $.format(list[i].click) + '</td>';
                    _html += '    <td class="theadTd hidden-consume">' + $.format(parseFloat(list[i].click_rate * 100.0).toFixed(2)) + '</td>';
                    _html += '    <td class="theadTd hidden-consume">' + $.format(parseFloat(list[i].ecpm).toFixed(2)) + '</td>';
                    _html += '    <td class="theadTd hidden-consume">' + $.format(parseFloat(list[i].revenue).toFixed(2)) + '</td>';
                    _html += '</tr>';
                    _tab.append(_html);
                }
                $('#' + params.page.div_id).page(data.result, params.page.click_method);
        });
    }
});